module.exports = {
    /**
     * 查询多条记录 分页
     * @url admin/kong/sys/getList 前端调用的url参数地址
     * data 请求参数 说明
     * @param {Number}         pageIndex 当前页码
     * @param {Number}         pageSize  每页显示数量
     * @param {Array<Object>}  sortRule  排序规则
     * @param {object}         formData  查询条件数据源
     * @param {Array<Object>}  columns   查询条件规则
     * res 返回参数说明
     * @param {Number}         code      错误码，0表示成功
     * @param {String}         msg       详细信息
     */
    main: async (event) => {
        let { data = {}, userInfo, util, filterResponse, originalParam } = event;
        let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
        let { uid } = data;
        var $ = _.aggregate; // 聚合查询操作符
        let res = { code: 0, msg: "" };
        // 业务逻辑开始-----------------------------------------------------------
        let dbName = "tm-sample-testing";
        res = await vk.baseDao.getTableData({
            dbName: dbName,
            pageIndex: 1,
            pageSize: -1,
            data,
            whereJson: {
                price: _.exists(true),
                detection_user: _.exists(true),
            },
            groupJson: {
                _id: "$detection_user",
                detection_user: $.first("$detection_user"),
                price: $.sum("$price"),
                // 这里是为了把user_id原样输出
                count: $.sum(1), // count记录条数
            }
        });

        // let dbName = "tm-detection-form";
        // res = await vk.baseDao.getTableData({
        //   dbName: dbName,
        //   pageIndex: 1,
        //   pageSize: -1,
        //   data,
        //   groupJson: {
        //     _id: "$detection_user",
        //     detection_user: $.first("$detection_user"),
        //     no: $.first("$id"),

        //     // 这里是为了把user_id原样输出
        //     count: $.sum(1), // count记录条数
        //   },
        //   foreignDB: [
        //     {
        //       dbName: "tm-sample-testing",
        //       localKey: "id",
        //       foreignKey: "detectionform_id",
        //       as: "samples",
        //       // fieldJson: {
        //       //     client: true,
        //       //     client_name: true,
        //       //     detection_user:true,
        //       // },
        //       limit: 100,
        //     },
        //   ],
        //   sortArr: [{ name: "detection_user", type: "asc" }],
        // });
        return res;
    },
};
